/**
 * 系统管理界面类
 * 业务层级：表示层
 * 功能说明：提供系统管理的用户界面，包括用户管理、权限管理、数据备份、系统配置等功能模块
 * 架构关系：遵循四层架构设计，作为系统管理的主界面，协调各个系统管理相关的子界面
 */
#ifndef SM_H
#define SM_H

#include <QWidget>
#include <QPushButton>
#include <QStackedWidget>

// 系统管理界面类（类名统一为小写 sm）
class sm : public QWidget
{
    Q_OBJECT  // 启用Qt信号槽机制，必须添加

public:
    explicit sm(QWidget *parent = nullptr);  // 构造函数
    ~sm();                                   // 析构函数

private:
    // UI初始化函数
    void initUI();
    // 顶部菜单创建函数
    void createTopMenu();

    // 成员变量：UI组件指针（统一初始化 nullptr）
    QWidget *m_topMenu;                     // 顶部菜单容器
    QPushButton *m_userManageBtn;           // 「用户管理」按钮
    QPushButton *m_roleManageBtn;           // 「角色管理」按钮
    QPushButton *m_permissionManageBtn;     // 「权限管理」按钮
    QPushButton *m_dataBackupBtn;           // 「数据备份」按钮
    QPushButton *m_dataRestoreBtn;          // 「数据恢复」按钮
    QPushButton *m_systemConfigBtn;         // 「系统设置」按钮
    QPushButton *m_logViewBtn;              // 「日志查看」按钮
    QPushButton *m_aboutBtn;                // 「关于」按钮
    QPushButton *m_shiftChangeBtn;          // 「交班操作」按钮
    QPushButton *m_shiftRecordBtn;          // 「交班记录」按钮
    QPushButton *m_inventoryCheckBtn;       // 「盘点操作」按钮
    QPushButton *m_inventoryRecordBtn;      // 「盘点记录」按钮
    QPushButton *m_helpBtn;                 // 「帮助」按钮
    QPushButton *m_exitBtn;                 // 「退出」按钮
    QStackedWidget *m_stackedWidget;        // 页面切换容器（堆叠窗口）
};

#endif // SM_H
